package com.dgut.coal.service;

import com.dgut.coal.entity.Purchase;
import com.dgut.coal.entity.Supplier;

import java.util.List;

/**
 * @Author: Yang
 * @Description:
 * @Date: Created in 0:01 2019/10/4
 * @Modifued BY:
 */


public interface PurchaseService {


    int commit(Purchase purchase);

    int save(Purchase purchase);

    List<Purchase> list(String bill_number, Integer state);

    int deletePurchase(Integer apply_id);

    Purchase viewPurchase(Integer apply_id);

    int updateCommit(Purchase purchase, String edit_date);

    int updateSave(Purchase purchase, String edit_date);

    List<Purchase> auditPur(Integer apply_id, String bill_number);

    /**
     * 这个方法是和审核通过进行联动的，审核通过的时候同时执行这个方法，修改订单的状态为已发布
     * @return
     */
    int auditStatePass(Integer apply_id);

    /**
     * 这个方法是和审核驳回进行联动的，审核通过的时候同时执行这个方法，修改订单的状态为已驳回
     * @return
     */
    int auditStateReject(Integer apply_id);

    /**
     * 采购执行列表
     * @param bill_numer
     * @param exec_state
     * @return
     */

    List<Purchase> execList(String bill_numer, Integer exec_state);

    /**
     * 采购执行中将订单提交，改变exec_state为已提交
     */
    int execFillPass(Integer apply_id);

    /**
     * 采购执行的供应商列表
     */
    List<Supplier> contract(Integer apply_id);

    int count();

    int auditCount();

    int deleteMore(int[] ints);

}
